package tema4;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="SaludoNavegadorServlet", urlPatterns={"/tema4/saludoNavegador"})
public class SaludoNavegadorServlet extends HttpServlet{
    
    protected void saludaAlUsuario(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String cabecera = request.getHeader("user-agent");
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Saludo dependiendo de su navegador</title>");
            out.println("<link rel=\"stylesheet\" title=\"standar\" type=\"text/css\" href=\"/EjemploBasicoJavaEE/standar.css\">");
            out.println("</head>");
            out.println("<body>");
            if(cabecera.indexOf("MSIE")!= -1){
                out.println("<h1>Noooo!!! Prohibido el paso a Internet Explorer!!</h1>");
                out.println("<img src=\"/EjemploBasicoJavaEE/tema4/NOT_OK.png\"> </img>");
            } else{
                String navegador = parseaNavegador(cabecera);
                out.println("<h1>Yeaaahh!! "+ navegador +" molaaa!!</h1>");
                out.println("<img src=\"/EjemploBasicoJavaEE/tema4/OK.png\"> </img>");
            }
            out.println("</body>");
            out.println("</html>");
        } finally { 
            out.close();
        }
    }

    private String parseaNavegador(String cabecera) {
        int navegadorIndex = cabecera.lastIndexOf(")");
        String navegador = "Firefox";
        if(navegadorIndex != cabecera.length()-1){
            navegador = cabecera.substring(navegadorIndex+1);
            navegador = navegador.substring(0, navegador.indexOf("/"));
        }
        return navegador;
    }
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        saludaAlUsuario(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        saludaAlUsuario(request, response);
    }

}
